//package com.yunhe.device.service.device;
//
//import com.yunhe.common.model.PageParam;
//import com.yunhe.common.model.authority.ResourceTree;
//import com.yunhe.device.domain.device.EnergyUnit;
//import com.yunhe.common.exception.ArgumentErrorException;
//import com.yunhe.common.exception.ObjectNotFoundException;
//import com.yunhe.common.exception.UniqueConstraintsException;
//
//import java.util.Date;
//import java.util.List;
//
///**
// * 能量单元service
// * @desc 能量单元服务类定义
// * @author liuronglei
// */
//public interface EnergyUnitService {
//
//    /**
//     * 新增能量单元
//     * @param firmId 单位ID
//     * @param stationId 电站ID
//     * @param energyUnit 储能单元
//     * @return
//     */
//    EnergyUnit createEnergyUnit(Long firmId, Long stationId, EnergyUnit energyUnit)
//            throws ArgumentErrorException, UniqueConstraintsException, ObjectNotFoundException;
//
//    /**
//     * 根据id删除能量单元
//     * @param id
//     */
//    void deleteById(Long id);
//
//    /**
//     * 更新能量单元
//     * @param energyUnit 能量单元
//     * @return
//     */
//    EnergyUnit updateEnergyUnit(EnergyUnit energyUnit)
//            throws ArgumentErrorException, UniqueConstraintsException, ObjectNotFoundException;
//
//    /**
//     * 更新能量单元
//     * @param id ID
//     * @param code 代码
//     * @param name 名称
//     * @param title 标题
//     * @param capacity
//     * @param productionTime
//     * @return
//     */
//    EnergyUnit updateEnergyUnit(Long id,
//                                Long code,
//                                String name,
//                                String title,
//                                Double capacity,
//                                Date productionTime)
//            throws ArgumentErrorException, UniqueConstraintsException, ObjectNotFoundException;
//
//    /**
//     * 根据能量单元ID获得能量单元
//     * @param id 能量单元ID
//     */
//    EnergyUnit findById(Long id);
//
//    /**
//     * 根据能量单元代码获得能量单元
//     * @param code 能量单元代码
//     */
//    EnergyUnit findByCode(Long code);
//
//    /**
//     * 根据条件查找能量单元
//     * @param stationId 电站ID
//     * @param stationCode 电站代码
//     */
//    Iterable<EnergyUnit> search(Long stationId,
//                                Long stationCode,
//                                PageParam pageParam);
//
//    /**
//     * 能量单元绑定设备
//     * @param id 能量单元id
//     * @param deviceIds 设备ID列表
//     */
//    void bindDevices(Long id, List<Long> deviceIds);
//
//    /**
//     * 能量单元解绑设备
//     * @param id 能量单元id
//     * @param deviceIds 设备ID列表
//     */
//    void unbindDevices(Long id, List<Long> deviceIds);
//
//    /**
//     *根据条件查询能量单元绑定的设备
//     * @param id 能量单元ID
//     * @param type 设备类型
//     * @return
//     */
//    Iterable<ResourceTree> searchDevices(Long id, String type);
//
//}
